The invention relates to the problem of efficiently performing Internet Group Management Protocol (IGMP) General Membership Queries (GMQs) on a large number of DSL (digital subscriber line) subscribers, particularly to enforcing requirements on the timeliness of responses to the queries by the subscribers' CPE (customer premise equipment). This CPE would normally be a Set-top Box (STB), and is also referred to as a host in the IGMP nomenclature. The equipment at the network side that services a group of hosts is known as an IGMP router. A host can receive several channels at one time through a router.
FIG. 1 (prior art) shows the timing of GMQ procedure specified in the IGMP RFC (rfc2236—Internet Group Management Protocol, Version 2). According to the GMQ procedure in the RFC, once every GMQ Interval an IGMP router broadcasts a GMQ message to the hosts that it services. Each host should then respond with a Join Report for every channel that it is receiving. The timeliness of the response is globally selectable for each router. The parameter providing the selectability is known as the robustness parameter, which specifies the maximum amount of time, in terms of an integer multiple GMQ cycles, within which a host must respond.
In the case of the Alcatel 7300 ASAM, the default value of the robustness parameter is two and the GMQ Interval cycle is 125 seconds long. Hence the default time limit for the response is two GMQ Intervals plus a 10 second response window (i.e. 2×125 s+10 s=260 s). If a router fails to receive a response for a particular host and channel within this time limit the host is removed from the broadcast group for that channel.
A problem with this procedure is that it requires a timer for each host and channel combination so that the router can measure and enforce the time limit allowed for each response. Since a router supports a large number of hosts and each host can carry a large number of channels, the number of timers required could be very large, typically in the thousands. This is problematic because each timer requires processing resources; hence the cumulative processing resources required for all of the timers can be quite significant. In fact, experience has shown that the processing resources required for the timers can encroach upon the processing resources needed for other functions. Therefore, a more processing-efficient way of enforcing the time limit for responding to GMQ messages is desired.